#ifndef __RENDERER_H__
#define __RENDERER_H__
#include <mat4.h>
#include <framebuffer.h>
#include <rasterizer.h>
#include <shader.h>

class Renderer {
public:
    Renderer(const Mat4x4& viewport, Framebuffer& buffer, 
             Shader* shader)
        : mViewportMat(viewport), mShader(shader), mResterizer(shader, buffer) {}

    void render(Vertex& vert1, Vertex& vert2, Vertex& vert3, Framebuffer& buffer);
private:
    Mat4x4 mViewportMat;
    Shader* mShader;
    Resterizer mResterizer;
};

#endif